Many businesses rely on computer networks to provide a number of core functions. For example, businesses provide access to their products and services through applications that are delivered over computer networks such as the Internet. Also, businesses rely on computer networks to electronically link facilities that are physically separated. The applications that run on these computer networks typically have a multi-tiered architecture. In those cases where the applications are delivered over the Internet they are commonly referred to as Web-based applications.
FIG. 1 is a block diagram of a distributed system 100. Distributed system 100 includes enterprise computing system 110 connected with client 120 through network 130. Enterprise computing system 110 includes application server 112 and database server 116. Application server 112 receives and processes input from a client (not shown) using, for example, business logic 114. Application server 112 typically includes a number of subcomponents including, for example, connectivity layer 140, presentation logic 142, business logic 114, and database interface 144. Connectivity layer 140 provides connections to one or more clients (not shown) using protocols such as the HyperText Transfer Protocol (HTTP), HTTP secured through the Secure Socket Layer, the Simple Object Access Protocol (SOAP), and the like. The HTTP protocol refers to any of the HTTP protocols including, for example, the protocol described in Request For Comments (RFC) 2616 entitled, “HyperText Transport Protocol—HTTP/1.1,” June 1999 (hereinafter, the HTTP protocol). The SOAP protocol refers to any of the SOAP protocols including the one promulgated by the World Wide Consortium (W3C) entitled, “SOAP Version 1.1 Part 1: Messaging Framework and Part 2: Adjuncts,” 24 Jun. 2003 (hereinafter, the SOAP protocol). The Secure Socket Layer protocol refers to any of the Secure Socket Layer protocols including, for example, the protocol entitled, “The SSL Protocol Ver. 3.0,” Nov. 18, 1996 (the HTTPS protocol).
Presentation logic 142 generates a Graphical User Interface (GUI) using, for example, a markup language such as the Hyper Text Markup Language (HTML). Business logic 114 represents the core of the application, for example, the rules governing the underlying business process (or other functionality) provided by the application. The Java 2 Enterprise Edition Specification v1.3, published on Jul. 27, 2001 (the J2EE specification) defines an increasingly popular architecture for application server 112.
Client 120 is a remotely located computing device that accesses application server 112 using a standalone user interface 122. The term “standalone” refers to a user interface that accesses application server 112 independently of a Web browser. Standalone user interfaces are often used to provide a content rich environment to, for example, remotely administer application server 112. Typically, user interface 122 and/or application server 112 change over time. For example, various updates, service packages, application releases, etc. create distinct versions of user interface 122 and application server 112. Experience has shown that some versions of user interface 122 are not compatible some versions of application server 112. The risk that user interface 122 is not compatible with application server 112 is increased because both client-side and server-side software frequently changes over time.
One possible solution is to download the appropriate client (e.g., client 120) from computing system 110 as needed. This solution is typically inadequate, however, because of the length of time required to download the appropriate client. For example if client 120 is large and connection 132 is slow then the process of acquiring client 120 from computing system 110 is prohibitively slow.